iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
Mobile Development

少年K的Swift奇幻漂流記系列 第 14

Day14 Swift MessageBoard APP 實作 Part2

  • 分享至 

  • xImage
  •  

tableView補充

昨天只教了tableView怎麼設定代理和註冊tableViewCell,但如果只有這樣,肯定是會報錯的,因為我們沒有給他顯示內容的func,接下來教怎麼設定顯示的內容。

tableViewCell

先拉一個Label

@IBOutlet weak var lbTest: UILabel!

然後設定換行

 override func awakeFromNib() {
    super.awakeFromNib()
    lbTest.numberOfLines = 0 // 多行顯示

}

在MainViewController設定extension讓他能顯示內容

extension MainViewController: UITableViewDelegate, UITableViewDataSource {
    
    // 顯示幾行
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        // 利用新增的留言內容數量去控制他要顯示有幾行
        return messageArray.count
    }
    
    // tableView顯示的內容
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        // 把要用到的tableViewCell命名為一個cell常數,後面好做使用
        guard let cell = tbvTest.dequeueReusableCell(withIdentifier: MainTableViewCell.identified, for: indexPath) as? MainTableViewCell else {
            return MainTableViewCell()
        }
        
        // 將messageArray儲存的每筆資料變為一個常數並呼叫,讓tableView顯示
        let message = messageArray[indexPath.row]
        cell.lbTest.text = "\(message.name): \(message.content)\n時間: \(message.currentTime)"
        return cell
    }
}

結論

今天補充了tableView要怎麼顯示內容的擴充function,明天會教元件動作的function和元件動作裡需要的額外function!


上一篇
Day13 Swift MessageBoard APP 實作 Part1
下一篇
Day15 Swift MessageBoard App 實作 Part3
系列文
少年K的Swift奇幻漂流記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言